package com.wang.diaryauth.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
* 角色表
* @TableName t_role
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@TableName("t_role")
public class Role implements Serializable {

    /**
    * 主键ID
    */
    @NotNull(message="[主键ID]不能为空")
    private Long id;
    /**
    * 角色名
    */
    @NotBlank(message="[角色名]不能为空")
    private String roleName;
    /**
    * 角色唯一标识
    */
    @NotBlank(message="[角色唯一标识]不能为空")
    private String roleKey;
    /**
    * 状态(0：启用 1：禁用)
    */
    @NotNull(message="[状态(0：启用 1：禁用)]不能为空")
    private Integer status;
    /**
    * 管理系统中的显示顺序
    */
    @NotNull(message="[管理系统中的显示顺序]不能为空")
    private Integer sort;
    /**
    * 备注
    */
    @Size(max= 255,message="编码长度不能超过255")
    private String remark;
    /**
    * 创建时间
    */
    @NotNull(message="[创建时间]不能为空")
    private LocalDateTime createTime;
    /**
    * 最后一次更新时间
    */
    @NotNull(message="[最后一次更新时间]不能为空")
    private LocalDateTime updateTime;
    /**
    * 逻辑删除(0：未删除 1：已删除)
    */
    @NotNull(message="[逻辑删除(0：未删除 1：已删除)]不能为空")
    private Boolean isDeleted;

}
